home *** CD-ROM | disk | FTP | other *** search
/ Aminet 4 / Aminet 4 - November 1994.iso / aminet / dev / gui / muibuilderv11.lha / muibuilder / mb / e / Mac2E.lha / Mac2E / MacroFiles / mui.e next >
Text File  |  1994-03-18  |  55KB  |  1,433 lines

  1. ****************************************************************************
  2. **
  3. ** MUI - MagicUserInterface
  4. ** (c) 1993 by Stefan Stuntz
  5. **
  6. ** Main Header File
  7. **
  8. ****************************************************************************
  9. **
  10. ** This file is a modified version of the orginal mui.h file (provided with
  11. ** MUI v2.0) in order to be used in E programs.
  12. **
  13. ** '$VER: mui_e 1.2 (10.3.94)'
  14. **
  15. ** March 1994, Lionel Vintenat
  16. **
  17. ****************************************************************************
  18. ** Class Tree
  19. ****************************************************************************
  20. **
  21. ** rootclass               (BOOPSI's base class)
  22. ** +--Notify               (implements notification mechanism)
  23. **    +--Application       (main class for all applications)
  24. **    +--Window            (handles intuition window related topics)
  25. **    +--Area              (base class for all GUI elements)
  26. **       +--Rectangle      (creates empty rectangles)
  27. **       +--Image          (creates images)
  28. **       +--Text           (creates some text)
  29. **       +--String         (creates a string gadget)
  30. **       +--Prop           (creates a proportional gadget)
  31. **       +--Gauge          (creates a fule gauge)
  32. **       +--Scale          (creates a percentage scale)
  33. **       +--Boopsi         (interface to BOOPSI gadgets)
  34. **       +--Colorfield     (creates a field with changeable color)
  35. **       +--List           (creates a line-oriented list)
  36. **       !  +--Floattext   (special list with floating text)
  37. **       !  +--Volumelist  (special list with volumes)
  38. **       !  +--Scrmodelist (special list with screen modes)
  39. **       !  \--Dirlist     (special list with files)
  40. **       +--Group          (groups other GUI elements)
  41. **          +--Virtgroup   (handles virtual groups)
  42. **          +--Scrollgroup (handles virtual groups with scrollers)
  43. **          +--Scrollbar   (creates a scrollbar)
  44. **          +--Listview    (creates a listview)
  45. **          +--Radio       (creates radio buttons)
  46. **          +--Cycle       (creates cycle gadgets)
  47. **          +--Slider      (creates slider gadgets)
  48. **          +--Coloradjust (creates some RGB sliders)
  49. **          \--Palette     (creates a complete palette gadget)
  50. **
  51. ****************************************************************************
  52. ** General Header File Information
  53. ****************************************************************************
  54. **
  55. ** All macro and structure definitions follow these rules:
  56. **
  57. ** Name                       Meaning
  58. **
  59. ** MUIC_<class>               Name of a class
  60. ** MUIM_<class>_<method>      Method
  61. ** MUIP_<class>_<method>      Methods parameter structure
  62. ** MUIV_<class>_<method>_<x>  Special method value
  63. ** MUIA_<class>_<attrib>      Attribute
  64. ** MUIV_<class>_<attrib>_<x>  Special attribute value
  65. ** MUIE_<error>               Error return code from MUI_Error()
  66. ** MUII_<name>                Standard MUI image
  67. **
  68. ** MUIA_... attribute definitions are followed by a comment
  69. ** consisting of the three possible letters I, S and G.
  70. ** I: it's possible to specify this attribute at object creation time.
  71. ** S: it's possible to change this attribute with SetAttrs().
  72. ** G: it's possible to get this attribute with GetAttr().
  73.  
  74.  
  75. ***************************************************************************
  76. ** Library specification
  77. ***************************************************************************
  78.  
  79. #define MUIMASTER_NAME  'muimaster.library'
  80. #define MUIMASTER_VMIN 4
  81.  
  82.  
  83. ****************************************************************************
  84. ** ARexx Interface
  85. ****************************************************************************
  86.  
  87. #define MC_TEMPLATE_ID -1
  88.  
  89. #define MUI_RXERR_BADDEFINITION  -1
  90. #define MUI_RXERR_OUTOFMEMORY    -2
  91. #define MUI_RXERR_UNKNOWNCOMMAND -3
  92. #define MUI_RXERR_BADSYNTAX      -4
  93.  
  94.  
  95. ****************************************************************************
  96. ** Return values for MUI_Error()
  97. ****************************************************************************
  98.  
  99. #define MUIE_OK                  0
  100. #define MUIE_OutOfMemory         1
  101. #define MUIE_OutOfGfxMemory      2
  102. #define MUIE_InvalidWindowObject 3
  103. #define MUIE_MissingLibrary      4
  104. #define MUIE_NoARexx             5
  105. #define MUIE_SingleTask          6
  106.  
  107.  
  108.  
  109. ****************************************************************************
  110. ** Standard MUI Images
  111. ****************************************************************************
  112.  
  113.                 * These images are configured   *
  114.                 * with the preferences program. *
  115. #define MUII_WindowBack     0
  116. #define MUII_RequesterBack  1
  117. #define MUII_ButtonBack     2
  118. #define MUII_ListBack       3
  119. #define MUII_TextBack       4
  120. #define MUII_PropBack       5
  121.                 * obsolete, don't use! *
  122. #define MUII_ActiveBack     6
  123. #define MUII_SelectedBack   7
  124. #define MUII_ListCursor     8
  125. #define MUII_ListSelect     9
  126. #define MUII_ListSelCur    10
  127. #define MUII_ArrowUp       11
  128. #define MUII_ArrowDown     12
  129. #define MUII_ArrowLeft     13
  130. #define MUII_ArrowRight    14
  131. #define MUII_CheckMark     15
  132. #define MUII_RadioButton   16
  133. #define MUII_Cycle         17
  134. #define MUII_PopUp         18
  135. #define MUII_PopFile       19
  136. #define MUII_PopDrawer     20
  137. #define MUII_PropKnob      21
  138. #define MUII_Drawer        22
  139. #define MUII_HardDisk      23
  140. #define MUII_Disk          24
  141. #define MUII_Chip          25
  142. #define MUII_Volume        26
  143. #define MUII_PopUpBack     27
  144. #define MUII_Network       28
  145. #define MUII_Assign        29
  146. #define MUII_TapePlay      30
  147. #define MUII_TapePlayBack  31
  148. #define MUII_TapePause     32
  149. #define MUII_TapeStop      33
  150. #define MUII_TapeRecord    34
  151. #define MUII_GroupBack     35
  152. #define MUII_SliderBack    36
  153. #define MUII_SliderKnob    37
  154. #define MUII_TapeUp        38
  155. #define MUII_TapeDown      39
  156. #define MUII_Count         40
  157.  
  158.                 * These are direct color    *
  159.                 * combinations and are not  *
  160.                 * affected by users prefs.  *
  161.                 * Generally, you should     *
  162.                 * avoid using them. Better  *
  163.                 * use one of the customized *
  164.                 * images above.             *
  165. #define MUII_BACKGROUND    128
  166. #define MUII_SHADOW        129
  167. #define MUII_SHINE         130
  168. #define MUII_FILL          131
  169. #define MUII_SHADOWBACK    132
  170. #define MUII_SHADOWFILL    133
  171. #define MUII_SHADOWSHINE   134
  172. #define MUII_FILLBACK      135
  173. #define MUII_FILLSHINE     136
  174. #define MUII_SHINEBACK     137
  175. #define MUII_FILLBACK2     138
  176. #define MUII_HSHINEBACK    139
  177. #define MUII_HSHADOWBACK   140
  178. #define MUII_HSHINESHINE   141
  179. #define MUII_HSHADOWSHADOW 142
  180. #define MUII_N1HSHINE      143
  181. #define MUII_LASTPAT       143
  182.  
  183.  
  184.  
  185. ****************************************************************************
  186. ** Special values for some methods
  187. ****************************************************************************
  188.  
  189. #define MUIV_TriggerValue $49893131
  190. #define MUIV_EveryTime    $49893131
  191.  
  192. #define MUIV_Application_Save_ENV     NIL
  193. #define MUIV_Application_Save_ENVARC  -1
  194. #define MUIV_Application_Load_ENV     NIL
  195. #define MUIV_Application_Load_ENVARC  -1
  196.  
  197. #define MUIV_Application_ReturnID_Quit -1
  198.  
  199. #define MUIV_List_Insert_Top             0
  200. #define MUIV_List_Insert_Active         -1
  201. #define MUIV_List_Insert_Sorted         -2
  202. #define MUIV_List_Insert_Bottom         -3
  203.  
  204. #define MUIV_List_Remove_First           0
  205. #define MUIV_List_Remove_Active         -1
  206. #define MUIV_List_Remove_Last           -2
  207.  
  208. #define MUIV_List_Select_Off             0
  209. #define MUIV_List_Select_On              1
  210. #define MUIV_List_Select_Toggle          2
  211. #define MUIV_List_Select_Ask             3
  212.  
  213. #define MUIV_List_Jump_Active           -1
  214. #define MUIV_List_GetEntry_Active       -1
  215. #define MUIV_List_Select_Active         -1
  216. #define MUIV_List_Select_All            -2
  217.  
  218. #define MUIV_List_Redraw_Active         -1
  219. #define MUIV_List_Redraw_All            -2
  220.  
  221. #define MUIV_List_Exchange_Active       -1
  222.  
  223. #define MUIV_Colorpanel_GetColor_Active -1
  224. #define MUIV_Colorpanel_SetColor_Active -1
  225.  
  226.  
  227. ****************************************************************************
  228. ** Control codes for text strings
  229. ****************************************************************************
  230.  
  231.                         * right justified *
  232. #define MUIX_R  '\er'
  233.                         * centered        *
  234. #define MUIX_C  '\ec'
  235.                         * left justified  *
  236. #define MUIX_L  '\el'
  237.  
  238.                         * normal     *
  239. #define MUIX_N  '\en'
  240.                         * bold       *
  241. #define MUIX_B  '\eb'
  242.                         * italic     *
  243. #define MUIX_I  '\ei'
  244.                         * underlined *
  245. #define MUIX_U  '\eu'
  246.  
  247.                         * text pen           *
  248. #define MUIX_PT '\e2'
  249.                         * highlight text pen *
  250. #define MUIX_PH '\e8'
  251.  
  252.  
  253. /***************************************************************************
  254. ** Parameter structures for some classes
  255. ***************************************************************************/
  256.  
  257. #define MUIV_Palette_Entry_End -1
  258.  
  259.  
  260.  
  261. ***************************************************************************
  262. **
  263. ** Macro Section
  264. ** -------------
  265. **
  266. ** To make GUI creation more easy and understandable, you can use the
  267. ** macros below.
  268. **
  269. ***************************************************************************
  270.  
  271. ***************************************************************************
  272. **
  273. ** Object Generation
  274. ** -----------------
  275. **
  276. ** The xxxObject (and xChilds) macros generate new instances of MUI classes.
  277. ** Every xxxObject can be followed by tagitems specifying initial create
  278. ** time attributes for the new object and must be terminated with the
  279. ** End macro:
  280. **
  281. ** obj = StringObject,
  282. **          MUIA_String_Contents, "foo",
  283. **          MUIA_String_MaxLen  , 40,
  284. **          End;
  285. **
  286. ** With the Child, SubWindow and WindowContents shortcuts you can
  287. ** construct a complete GUI within one command:
  288. **
  289. ** app = ApplicationObject,
  290. **
  291. **          ...
  292. **
  293. **          SubWindow, WindowObject,
  294. **             WindowContents, VGroup,
  295. **                Child, String("foo",40),
  296. **                Child, String("bar",50),
  297. **                Child, HGroup,
  298. **                   Child, CheckMark(TRUE),
  299. **                   Child, CheckMark(FALSE),
  300. **                   End,
  301. **                End,
  302. **             End,
  303. **
  304. **          SubWindow, WindowObject,
  305. **             WindowContents, HGroup,
  306. **                Child, ...,
  307. **                Child, ...,
  308. **                End,
  309. **             End,
  310. **
  311. **          ...
  312. **
  313. **          End;
  314. **
  315. ***************************************************************************
  316.  
  317. #define WindowObject      Mui_NewObjectA('Window.mui', [TAG_IGNORE, 0
  318. #define ImageObject       Mui_NewObjectA('Image.mui', [TAG_IGNORE, 0
  319. #define NotifyObject      Mui_NewObjectA('Notify.mui', [TAG_IGNORE, 0
  320. #define ApplicationObject Mui_NewObjectA('Application.mui', [TAG_IGNORE, 0
  321. #define TextObject        Mui_NewObjectA('Text.mui', [TAG_IGNORE, 0
  322. #define RectangleObject   Mui_NewObjectA('Rectangle.mui', [TAG_IGNORE, 0
  323. #define ListObject        Mui_NewObjectA('List.mui', [TAG_IGNORE, 0
  324. #define PropObject        Mui_NewObjectA('Prop.mui', [TAG_IGNORE, 0
  325. #define StringObject      Mui_NewObjectA('String.mui', [TAG_IGNORE, 0
  326. #define ScrollbarObject   Mui_NewObjectA('Scrollbar.mui', [TAG_IGNORE, 0
  327. #define ListviewObject    Mui_NewObjectA('Listview.mui', [TAG_IGNORE, 0
  328. #define RadioObject       Mui_NewObjectA('Radio.mui', [TAG_IGNORE, 0
  329. #define VolumelistObject  Mui_NewObjectA('Volumelist.mui', [TAG_IGNORE, 0
  330. #define FloattextObject   Mui_NewObjectA('Floattext.mui', [TAG_IGNORE, 0
  331. #define DirlistObject     Mui_NewObjectA('Dirlist.mui', [TAG_IGNORE, 0
  332. #define SliderObject      Mui_NewObjectA('Slider.mui', [TAG_IGNORE, 0
  333. #define CycleObject       Mui_NewObjectA('Cycle.mui', [TAG_IGNORE, 0
  334. #define GaugeObject       Mui_NewObjectA('Gauge.mui', [TAG_IGNORE, 0
  335. #define ScaleObject       Mui_NewObjectA('Scale.mui', [TAG_IGNORE, 0
  336. #define BoopsiObject      Mui_NewObjectA('Boopsi.mui', [TAG_IGNORE, 0
  337. #define ColorfieldObject  Mui_NewObjectA('Colorfield.mui', [TAG_IGNORE, 0
  338. #define ColorpanelObject  Mui_NewObjectA('Colorpanel.mui', [TAG_IGNORE, 0
  339. #define ColoradjustObject Mui_NewObjectA('Coloradjust.mui', [TAG_IGNORE, 0
  340. #define PaletteObject     Mui_NewObjectA('Palette.mui', [TAG_IGNORE, 0
  341. #define GroupObject       Mui_NewObjectA('Group.mui', [TAG_IGNORE, 0
  342. #define RegisterObject    Mui_NewObjectA('Register.mui', [TAG_IGNORE, 0
  343. #define VirtgroupObject   Mui_NewObjectA('Virtgroup.mui', [TAG_IGNORE, 0
  344. #define ScrollgroupObject Mui_NewObjectA('Scrollgroup.mui', [TAG_IGNORE, 0
  345. #define PopstringObject   Mui_NewObjectA('Popstring.mui', [TAG_IGNORE, 0
  346. #define PopobjectObject   Mui_NewObjectA('Popobject.mui', [TAG_IGNORE, 0
  347. #define PopaslObject      Mui_NewObjectA('Popasl.mui', [TAG_IGNORE, 0
  348. #define ScrmodelistObject Mui_NewObjectA('Scrmodelist.mui', [TAG_IGNORE, 0
  349. #define VGroup            Mui_NewObjectA('Group.mui', [TAG_IGNORE, 0
  350. #define HGroup            Mui_NewObjectA('Group.mui', [MUIA_Group_Horiz, MUI_TRUE
  351. #define ColGroup(cols)    Mui_NewObjectA('Group.mui', [MUIA_Group_Columns, (cols)
  352. #define RowGroup(rows)    Mui_NewObjectA('Group.mui', [MUIA_Group_Rows, (rows)
  353. #define PageGroup         Mui_NewObjectA('Group.mui', [MUIA_Group_PageMode, MUI_TRUE
  354. #define VGroupV           Mui_NewObjectA('Virtgroup.mui', [TAG_IGNORE, 0
  355. #define HGroupV           Mui_NewObjectA('Virtgroup.mui', [MUIA_Group_Horiz, MUI_TRUE
  356. #define ColGroupV(cols)   Mui_NewObjectA('Virtgroup.mui', [MUIA_Group_Columns, (cols)
  357. #define RowGroupV(rows)   Mui_NewObjectA('Virtgroup.mui', [MUIA_Group_Rows, (rows)
  358. #define PageGroupV        Mui_NewObjectA('Virtgroup.mui', [MUIA_Group_PageMode, MUI_TRUE
  359. #define RegisterGroup(t)  Mui_NewObjectA('Register.mui', [MUIA_Register_Titles, (t)
  360. #define End               TAG_DONE])
  361.  
  362. #define Child             MUIA_Group_Child
  363. #define SubWindow         MUIA_Application_Window
  364. #define WindowContents    MUIA_Window_RootObject
  365.  
  366.  
  367. ***************************************************************************
  368. **
  369. ** Frame Types
  370. ** -----------
  371. **
  372. ** These macros may be used to specify one of MUI's different frame types.
  373. ** Note that every macro consists of one or more { ti_Tag, ti_Data }
  374. ** pairs.
  375. **
  376. ** GroupFrameT() is a special kind of frame that contains a centered
  377. ** title text.
  378. **
  379. ** HGroup, GroupFrameT("Horiz Groups"),
  380. **    Child, RectangleObject, TextFrame  , End,
  381. **    Child, RectangleObject, StringFrame, End,
  382. **    Child, RectangleObject, ButtonFrame, End,
  383. **    Child, RectangleObject, ListFrame  , End,
  384. **    End,
  385. **
  386. ***************************************************************************
  387.  
  388. #define NoFrame          MUIA_Frame, MUIV_Frame_None
  389. #define ButtonFrame      MUIA_Frame, MUIV_Frame_Button
  390. #define ImageButtonFrame MUIA_Frame, MUIV_Frame_ImageButton
  391. #define TextFrame        MUIA_Frame, MUIV_Frame_Text
  392. #define StringFrame      MUIA_Frame, MUIV_Frame_String
  393. #define ReadListFrame    MUIA_Frame, MUIV_Frame_ReadList
  394. #define InputListFrame   MUIA_Frame, MUIV_Frame_InputList
  395. #define PropFrame        MUIA_Frame, MUIV_Frame_Prop
  396. #define SliderFrame      MUIA_Frame, MUIV_Frame_Slider
  397. #define GaugeFrame       MUIA_Frame, MUIV_Frame_Gauge
  398. #define VirtualFrame     MUIA_Frame, MUIV_Frame_Virtual
  399. #define GroupFrame       MUIA_Frame, MUIV_Frame_Group
  400. #define GroupFrameT(s)   MUIA_Frame, MUIV_Frame_Group, MUIA_FrameTitle, s
  401.  
  402.  
  403. ***************************************************************************
  404. **
  405. ** Spacing Macros
  406. ** --------------
  407. **
  408. ***************************************************************************
  409.  
  410. #define HVSpace           Mui_NewObjectA('Rectangle.mui', [TAG_DONE])
  411. #define HSpace(x)         Mui_NewObjectA('Rectangle.mui', [IF (x) THEN MUIA_FixWidth  ELSE TAG_IGNORE, (x), MUIA_VertWeight , 0, TAG_DONE])
  412. #define VSpace(x)         Mui_NewObjectA('Rectangle.mui', [IF (x) THEN MUIA_FixHeight ELSE TAG_IGNORE, (x), MUIA_HorizWeight, 0, TAG_DONE])
  413. #define HCenter(obj)      (HGroup, GroupSpacing(0), Child, HSpace(0), Child, (obj), Child, HSpace(0), End)
  414. #define VCenter(obj)      (VGroup, GroupSpacing(0), Child, VSpace(0), Child, (obj), Child, VSpace(0), End)
  415. #define InnerSpacing(h,v) MUIA_InnerLeft, (h), MUIA_InnerRight, (h), MUIA_InnerTop, (v), MUIA_InnerBottom, (v)
  416. #define GroupSpacing(x)   MUIA_Group_Spacing, x
  417.  
  418.  
  419. ***************************************************************************
  420. **
  421. ** String-Object
  422. ** -------------
  423. **
  424. ** The following macro creates a simple string gadget.
  425. **
  426. ***************************************************************************
  427.         !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  428.         !!!!! Be careful, I renamed String macro to StringMUI, to avoid conflicts with E String() function !!!!!
  429.         !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  430. #define StringMUI(contents,maxlen)\
  431.         StringObject, \
  432.                 StringFrame, \
  433.                 MUIA_String_MaxLen, maxlen, \
  434.                 MUIA_String_Contents, contents, \
  435.                 End
  436.  
  437. #define KeyString(contents,maxlen,controlchar)\
  438.         StringObject, \
  439.                 StringFrame, \
  440.                 MUIA_ControlChar, controlchar, \
  441.                 MUIA_String_MaxLen, maxlen, \
  442.                 MUIA_String_Contents, contents, \
  443.                 End
  444.  
  445.  
  446. ***************************************************************************
  447. **
  448. ** CheckMark-Object
  449. ** ----------------
  450. **
  451. ** The following macro creates a checkmark gadget.
  452. **
  453. ***************************************************************************
  454.  
  455. #define CheckMark(selected)\
  456.         ImageObject, \
  457.                 ImageButtonFrame, \
  458.                 MUIA_InputMode, MUIV_InputMode_Toggle, \
  459.                 MUIA_Image_Spec, MUII_CheckMark, \
  460.                 MUIA_Image_FreeVert, MUI_TRUE, \
  461.                 MUIA_Selected, selected, \
  462.                 MUIA_Background, MUII_ButtonBack, \
  463.                 MUIA_ShowSelState, FALSE, \
  464.                 End
  465.  
  466. #define KeyCheckMark(selected,control)\
  467.         ImageObject, \
  468.                 ImageButtonFrame, \
  469.                 MUIA_InputMode, MUIV_InputMode_Toggle, \
  470.                 MUIA_Image_Spec, MUII_CheckMark, \
  471.                 MUIA_Image_FreeVert, MUI_TRUE, \
  472.                 MUIA_Selected, selected, \
  473.                 MUIA_Background, MUII_ButtonBack, \
  474.                 MUIA_ShowSelState, FALSE, \
  475.                 MUIA_ControlChar, control, \
  476.                 End
  477.  
  478.  
  479. ***************************************************************************
  480. **
  481. ** Button-Objects
  482. ** --------------
  483. **
  484. ** Note: Use small letters for KeyButtons, e.g.
  485. **       KeyButton("Cancel",'c')  and not  KeyButton("Cancel",'C') !!
  486. **
  487. ***************************************************************************
  488.  
  489. #define SimpleButton(name)\
  490.         TextObject, \
  491.                 ButtonFrame, \
  492.                 MUIA_Text_Contents, name, \
  493.                 MUIA_Text_PreParse, [27,"c",0]:CHAR, \
  494.                 MUIA_InputMode, MUIV_InputMode_RelVerify, \
  495.                 MUIA_Background, MUII_ButtonBack, \
  496.                 End
  497.  
  498. #define KeyButton(name,key)\
  499.         TextObject, \
  500.                 ButtonFrame, \
  501.                 MUIA_Text_Contents, name, \
  502.                 MUIA_Text_PreParse, [27,"c",0]:CHAR, \
  503.                 MUIA_Text_HiChar, key, \
  504.                 MUIA_ControlChar, key, \
  505.                 MUIA_InputMode, MUIV_InputMode_RelVerify, \
  506.                 MUIA_Background, MUII_ButtonBack, \
  507.                 End
  508.  
  509.  
  510. ***************************************************************************
  511. **
  512. ** Cycle-Object
  513. ** ------------
  514. **
  515. ***************************************************************************
  516.  
  517. #define Cycle(entries)        CycleObject, MUIA_Cycle_Entries, entries, End
  518. #define KeyCycle(entries,key) CycleObject, MUIA_Cycle_Entries, entries, MUIA_ControlChar, key, End
  519.  
  520.  
  521. ***************************************************************************
  522. **
  523. ** Radio-Object
  524. ** ------------
  525. **
  526. ***************************************************************************
  527.  
  528. #define Radio(name,array)\
  529.         RadioObject, \
  530.                 GroupFrameT(name), \
  531.                 MUIA_Radio_Entries, array, \
  532.                 End
  533.  
  534. #define KeyRadio(name,array,key)\
  535.         RadioObject, \
  536.                 GroupFrameT(name), \
  537.                 MUIA_Radio_Entries, array, \
  538.                 MUIA_ControlChar, key, \
  539.                 End
  540.  
  541.  
  542. ***************************************************************************
  543. **
  544. ** Slider-Object
  545. ** -------------
  546. **
  547. ***************************************************************************
  548.  
  549. #define Slider(min,max,level)\
  550.         SliderObject, \
  551.                 MUIA_Slider_Min, min, \
  552.                 MUIA_Slider_Max, max, \
  553.                 MUIA_Slider_Level, level, \
  554.                 End
  555.  
  556. #define KeySlider(min,max,level,key)\
  557.         SliderObject, \
  558.                 MUIA_Slider_Min, min, \
  559.                 MUIA_Slider_Max, max, \
  560.                 MUIA_Slider_Level, level, \
  561.                 MUIA_ControlChar, key, \
  562.                 End
  563.  
  564.  
  565. ****************************************************************************
  566. **
  567. ** Button to be used for popup objects
  568. **
  569. ****************************************************************************
  570.  
  571. #define PopButton(img) ImageObject,\
  572.         ImageButtonFrame,\
  573.         MUIA_Image_Spec          , img,\
  574.         MUIA_Image_FontMatchWidth, MUI_TRUE,\
  575.         MUIA_Image_FreeVert      , MUI_TRUE,\
  576.         MUIA_InputMode           , MUIV_InputMode_RelVerify,\
  577.         MUIA_Background          , MUII_BACKGROUND,\
  578.         End
  579.  
  580.  
  581. ***************************************************************************
  582. **
  583. ** Labeling Objects
  584. ** ----------------
  585. **
  586. ** Labeling objects, e.g. a group of string gadgets,
  587. **
  588. **   Small: |foo   |
  589. **  Normal: |bar   |
  590. **     Big: |foobar|
  591. **    Huge: |barfoo|
  592. **
  593. ** is done using a 2 column group:
  594. **
  595. ** ColGroup(2),
  596. **      Child, Label2("Small:" ),
  597. **    Child, StringObject, End,
  598. **      Child, Label2("Normal:"),
  599. **    Child, StringObject, End,
  600. **      Child, Label2("Big:"   ),
  601. **    Child, StringObject, End,
  602. **      Child, Label2("Huge:"  ),
  603. **    Child, StringObject, End,
  604. **    End,
  605. **
  606. ** Note that we have three versions of the label macro, depending on
  607. ** the frame type of the right hand object:
  608. **
  609. ** Label1(): For use with standard frames (e.g. checkmarks).
  610. ** Label2(): For use with double high frames (e.g. string gadgets).
  611. ** Label() : For use with objects without a frame.
  612. **
  613. ** These macros ensure that your label will look fine even if the
  614. ** user of your application configured some strange spacing values.
  615. ** If you want to use your own labeling, you'll have to pay attention
  616. ** on this topic yourself.
  617. **
  618. ***************************************************************************
  619.  
  620. #define Label(label)   TextObject, MUIA_Text_PreParse, [27,"r",0]:CHAR, MUIA_Text_Contents, label, MUIA_Weight, 0, MUIA_InnerLeft, 0, MUIA_InnerRight, 0, End
  621. #define Label1(label)  TextObject, MUIA_Text_PreParse, [27,"r",0]:CHAR, MUIA_Text_Contents, label, MUIA_Weight, 0, MUIA_InnerLeft, 0, MUIA_InnerRight, 0, ButtonFrame, MUIA_FramePhantomHoriz, MUI_TRUE, End
  622. #define Label2(label)  TextObject, MUIA_Text_PreParse, [27,"r",0]:CHAR, MUIA_Text_Contents, label, MUIA_Weight, 0, MUIA_InnerLeft, 0, MUIA_InnerRight, 0, StringFrame, MUIA_FramePhantomHoriz, MUI_TRUE, End
  623. #define LLabel(label)  TextObject, MUIA_Text_Contents, label, MUIA_Weight, 0, MUIA_InnerLeft, 0, MUIA_InnerRight, 0, End
  624. #define LLabel1(label) TextObject, MUIA_Text_Contents, label, MUIA_Weight, 0, MUIA_InnerLeft, 0, MUIA_InnerRight, 0, ButtonFrame, MUIA_FramePhantomHoriz, MUI_TRUE, End
  625. #define LLabel2(label) TextObject, MUIA_Text_Contents, label, MUIA_Weight, 0, MUIA_InnerLeft, 0, MUIA_InnerRight, 0, StringFrame, MUIA_FramePhantomHoriz, MUI_TRUE, End
  626.  
  627. #define KeyLabel(label,hichar)   TextObject, MUIA_Text_PreParse, [27,"r",0]:CHAR, MUIA_Text_Contents, label, MUIA_Weight, 0, MUIA_InnerLeft, 0, MUIA_InnerRight, 0, MUIA_Text_HiChar, hichar, End
  628. #define KeyLabel1(label,hichar)  TextObject, MUIA_Text_PreParse, [27,"r",0]:CHAR, MUIA_Text_Contents, label, MUIA_Weight, 0, MUIA_InnerLeft, 0, MUIA_InnerRight, 0, MUIA_Text_HiChar, hichar, ButtonFrame, MUIA_FramePhantomHoriz, MUI_TRUE, End
  629. #define KeyLabel2(label,hichar)  TextObject, MUIA_Text_PreParse, [27,"r",0]:CHAR, MUIA_Text_Contents, label, MUIA_Weight, 0, MUIA_InnerLeft, 0, MUIA_InnerRight, 0, MUIA_Text_HiChar, hichar, StringFrame, MUIA_FramePhantomHoriz, MUI_TRUE, End
  630. #define KeyLLabel(label,hichar)  TextObject, MUIA_Text_Contents, label, MUIA_Weight, 0, MUIA_InnerLeft, 0, MUIA_InnerRight, 0, MUIA_Text_HiChar, hichar, End
  631. #define KeyLLabel1(label,hichar) TextObject, MUIA_Text_Contents, label, MUIA_Weight, 0, MUIA_InnerLeft, 0, MUIA_InnerRight, 0, MUIA_Text_HiChar, hichar, ButtonFrame, MUIA_FramePhantomHoriz, MUI_TRUE, End
  632. #define KeyLLabel2(label,hichar) TextObject, MUIA_Text_Contents, label, MUIA_Weight, 0, MUIA_InnerLeft, 0, MUIA_InnerRight, 0, MUIA_Text_HiChar, hichar, StringFrame, MUIA_FramePhantomHoriz, MUI_TRUE, End
  633.  
  634.  
  635. ***************************************************************************
  636. **
  637. ** Controlling Objects
  638. ** -------------------
  639. **
  640. ** set() and get() are two short stubs for BOOPSI GetAttr() and SetAttrs()
  641. ** calls:
  642. **
  643. ** {
  644. **    char *x;
  645. **
  646. **    set(obj,MUIA_String_Contents,"foobar");
  647. **    get(obj,MUIA_String_Contents,&x);
  648. **
  649. **    printf("gadget contains '%s'\n",x);
  650. ** }
  651. **
  652. ***************************************************************************
  653.  
  654. #define get(obj,attr,store)     GetAttr(attr, obj, store)
  655. #define set(obj,attr,value)     SetAttrsA(obj, [attr, value, TAG_DONE])
  656. #define nnset(obj,attr,value)   SetAttrs(obj, [MUIA_NoNotify, MUI_TRUE, attr, value, TAG_DONE])
  657.  
  658. #define setmutex(obj,n)     set(obj, MUIA_Radio_Active, n)
  659. #define setcycle(obj,n)     set(obj, MUIA_Cycle_Active, n)
  660. #define setstring(obj,s)    set(obj, MUIA_String_Contents, s)
  661. #define setcheckmark(obj,b) set(obj, MUIA_Selected, b)
  662. #define setslider(obj,l)    set(obj, MUIA_Slider_Level, l)
  663.  
  664.     /* A very useful macro for MUI taken from the iffparse.h file */
  665. #define MAKE_ID(a,b,c,d) (Shl(a,24) OR Shl(b,16) OR Shl(c,8) OR (d))
  666.  
  667.  
  668. ****************************************************************************
  669. **
  670. ** For Boopsi Image Implementors Only:
  671. **
  672. ** If MUI is using a boopsi image object, it will send a special method
  673. ** immediately after object creation. This method has a parameter structure
  674. ** where the boopsi can fill in its minimum and maximum size and learn if
  675. ** its used in a horizontal or vertical context.
  676. **
  677. ** The boopsi image must use the method id (MUIM_BoopsiQuery) as return
  678. ** value. That's how MUI sees that the method is implemented.
  679. **
  680. ** Note: MUI does not depend on this method. If the boopsi image doesn't
  681. **       implement it, minimum size will be 0 and maximum size unlimited.
  682. **
  683. ****************************************************************************
  684.  
  685.         * this is send to the boopsi and *
  686.         * must be used as return value   *
  687. #define MUIM_BoopsiQuery $80427157
  688.  
  689.         * old structure name *
  690. #define MUIP_BoopsiQuery MUI_BoopsiQuery
  691.  
  692.         * object used in a horizontal *
  693.         * context (else vertical)     *
  694. #define MBQF_HORIZ 1
  695.  
  696.         * use this for unlimited MaxWidth/Height *
  697. #define MBQ_MUI_MAXMAX (10000)
  698.  
  699.  
  700. ****************************************************************************
  701. ** Notify.mui 7.13 (01.12.93)                                             **
  702. ****************************************************************************
  703.  
  704.     * Methods *
  705.  
  706. #define MUIM_CallHook                  $8042b96b
  707. #define MUIM_KillNotify                $8042d240
  708. #define MUIM_MultiSet                  $8042d356
  709. #define MUIM_Notify                    $8042c9cb
  710. #define MUIM_Set                       $8042549a
  711. #define MUIM_SetAsString               $80422590
  712. #define MUIM_WriteLong                 $80428d86
  713. #define MUIM_WriteString               $80424bf4
  714.  
  715.     * Attributes *
  716.  
  717. #define MUIA_AppMessage                 $80421955
  718. #define MUIA_HelpFile                   $80423a6e
  719. #define MUIA_HelpLine                   $8042a825
  720. #define MUIA_HelpNode                   $80420b85
  721. #define MUIA_NoNotify                   $804237f9
  722. #define MUIA_Revision                   $80427eaa
  723. #define MUIA_UserData                   $80420313
  724. #define MUIA_Version                    $80422301
  725.  
  726.  
  727. ****************************************************************************
  728. ** Application.mui 7.12 (28.11.93)                                        **
  729. ****************************************************************************
  730.  
  731.     * Methods *
  732.  
  733. #define MUIM_Application_GetMenuCheck  $8042c0a7
  734. #define MUIM_Application_GetMenuState  $8042a58f
  735. #define MUIM_Application_Input         $8042d0f5
  736. #define MUIM_Application_InputBuffered $80427e59
  737. #define MUIM_Application_Load          $8042f90d
  738. #define MUIM_Application_PushMethod    $80429ef8
  739. #define MUIM_Application_ReturnID      $804276ef
  740. #define MUIM_Application_Save          $804227ef
  741. #define MUIM_Application_SetMenuCheck  $8042a707
  742. #define MUIM_Application_SetMenuState  $80428bef
  743. #define MUIM_Application_ShowHelp      $80426479
  744.  
  745.     * Attributes *
  746.  
  747. #define MUIA_Application_Active         $804260ab
  748. #define MUIA_Application_Author         $80424842
  749. #define MUIA_Application_Base           $8042e07a
  750. #define MUIA_Application_Broker         $8042dbce
  751. #define MUIA_Application_BrokerHook     $80428f4b
  752. #define MUIA_Application_BrokerPort     $8042e0ad
  753. #define MUIA_Application_BrokerPri      $8042c8d0
  754. #define MUIA_Application_Commands       $80428648
  755. #define MUIA_Application_Copyright      $8042ef4d
  756. #define MUIA_Application_Description    $80421fc6
  757. #define MUIA_Application_DiskObject     $804235cb
  758. #define MUIA_Application_DoubleStart    $80423bc6
  759. #define MUIA_Application_DropObject     $80421266
  760. #define MUIA_Application_Iconified      $8042a07f
  761. #define MUIA_Application_Menu           $80420e1f
  762. #define MUIA_Application_MenuAction     $80428961
  763. #define MUIA_Application_MenuHelp       $8042540b
  764. #define MUIA_Application_RexxHook       $80427c42
  765. #define MUIA_Application_RexxMsg        $8042fd88
  766. #define MUIA_Application_RexxString     $8042d711
  767. #define MUIA_Application_SingleTask     $8042a2c8
  768. #define MUIA_Application_Sleep          $80425711
  769. #define MUIA_Application_Title          $804281b8
  770. #define MUIA_Application_Version        $8042b33f
  771. #define MUIA_Application_Window         $8042bfe0
  772.  
  773.  
  774. ****************************************************************************
  775. ** Window.mui 7.16 (03.12.93)                                             **
  776. ****************************************************************************
  777.  
  778.     * Methods *
  779.  
  780. #define MUIM_Window_GetMenuCheck       $80420414
  781. #define MUIM_Window_GetMenuState       $80420d2f
  782. #define MUIM_Window_ScreenToBack       $8042913d
  783. #define MUIM_Window_ScreenToFront      $804227a4
  784. #define MUIM_Window_SetCycleChain      $80426510
  785. #define MUIM_Window_SetMenuCheck       $80422243
  786. #define MUIM_Window_SetMenuState       $80422b5e
  787. #define MUIM_Window_ToBack             $8042152e
  788. #define MUIM_Window_ToFront            $8042554f
  789.  
  790.     * Attributes *
  791.  
  792. #define MUIA_Window_Activate            $80428d2f
  793. #define MUIA_Window_ActiveObject        $80427925
  794. #define MUIA_Window_AltHeight           $8042cce3
  795. #define MUIA_Window_AltLeftEdge         $80422d65
  796. #define MUIA_Window_AltTopEdge          $8042e99b
  797. #define MUIA_Window_AltWidth            $804260f4
  798. #define MUIA_Window_AppWindow           $804280cf
  799. #define MUIA_Window_Backdrop            $8042c0bb
  800. #define MUIA_Window_Borderless          $80429b79
  801. #define MUIA_Window_CloseGadget         $8042a110
  802. #define MUIA_Window_CloseRequest        $8042e86e
  803. #define MUIA_Window_DefaultObject       $804294d7
  804. #define MUIA_Window_DepthGadget         $80421923
  805. #define MUIA_Window_DragBar             $8042045d
  806. #define MUIA_Window_Height              $80425846
  807. #define MUIA_Window_ID                  $804201bd
  808. #define MUIA_Window_InputEvent          $804247d8
  809. #define MUIA_Window_LeftEdge            $80426c65
  810. #define MUIA_Window_Menu                $8042db94
  811. #define MUIA_Window_NoMenus             $80429df5
  812. #define MUIA_Window_Open                $80428aa0
  813. #define MUIA_Window_PublicScreen        $804278e4
  814. #define MUIA_Window_RefWindow           $804201f4
  815. #define MUIA_Window_RootObject          $8042cba5
  816. #define MUIA_Window_Screen              $8042df4f
  817. #define MUIA_Window_ScreenTitle         $804234b0
  818. #define MUIA_Window_SizeGadget          $8042e33d
  819. #define MUIA_Window_SizeRight           $80424780
  820. #define MUIA_Window_Sleep               $8042e7db
  821. #define MUIA_Window_Title               $8042ad3d
  822. #define MUIA_Window_TopEdge             $80427c66
  823. #define MUIA_Window_Width               $8042dcae
  824. #define MUIA_Window_Window              $80426a42
  825.  
  826. #define MUIV_Window_ActiveObject_None 0
  827. #define MUIV_Window_ActiveObject_Next -1
  828. #define MUIV_Window_ActiveObject_Prev -2
  829. #define MUIV_Window_AltHeight_MinMax(p) (0-(p))
  830. #define MUIV_Window_AltHeight_Visible(p) (-100-(p))
  831. #define MUIV_Window_AltHeight_Screen(p) (-200-(p))
  832. #define MUIV_Window_AltHeight_Scaled -1000
  833. #define MUIV_Window_AltLeftEdge_Centered -1
  834. #define MUIV_Window_AltLeftEdge_Moused -2
  835. #define MUIV_Window_AltLeftEdge_NoChange -1000
  836. #define MUIV_Window_AltTopEdge_Centered -1
  837. #define MUIV_Window_AltTopEdge_Moused -2
  838. #define MUIV_Window_AltTopEdge_Delta(p) (-3-(p))
  839. #define MUIV_Window_AltTopEdge_NoChange -1000
  840. #define MUIV_Window_AltWidth_MinMax(p) (0-(p))
  841. #define MUIV_Window_AltWidth_Visible(p) (-100-(p))
  842. #define MUIV_Window_AltWidth_Screen(p) (-200-(p))
  843. #define MUIV_Window_AltWidth_Scaled -1000
  844. #define MUIV_Window_Height_MinMax(p) (0-(p))
  845. #define MUIV_Window_Height_Visible(p) (-100-(p))
  846. #define MUIV_Window_Height_Screen(p) (-200-(p))
  847. #define MUIV_Window_Height_Scaled -1000
  848. #define MUIV_Window_Height_Default -1001
  849. #define MUIV_Window_LeftEdge_Centered -1
  850. #define MUIV_Window_LeftEdge_Moused -2
  851. #define MUIV_Window_Menu_NoMenu -1
  852. #define MUIV_Window_TopEdge_Centered -1
  853. #define MUIV_Window_TopEdge_Moused -2
  854. #define MUIV_Window_TopEdge_Delta(p) (-3-(p))
  855. #define MUIV_Window_Width_MinMax(p) (0-(p))
  856. #define MUIV_Window_Width_Visible(p) (-100-(p))
  857. #define MUIV_Window_Width_Screen(p) (-200-(p))
  858. #define MUIV_Window_Width_Scaled -1000
  859. #define MUIV_Window_Width_Default -1001
  860.  
  861.  
  862. ****************************************************************************
  863. ** Area.mui 7.15 (28.11.93)                                               **
  864. ****************************************************************************
  865.  
  866.     * Methods *
  867.  
  868. #define MUIM_AskMinMax                 $80423874
  869. #define MUIM_Cleanup                   $8042d985
  870. #define MUIM_Draw                      $80426f3f
  871. #define MUIM_HandleInput               $80422a1a
  872. #define MUIM_Hide                      $8042f20f
  873. #define MUIM_Setup                     $80428354
  874. #define MUIM_Show                      $8042cc84
  875.  
  876.     * Attributes *
  877.  
  878. #define MUIA_ApplicationObject          $8042d3ee
  879. #define MUIA_Background                 $8042545b
  880. #define MUIA_BottomEdge                 $8042e552
  881. #define MUIA_ControlChar                $8042120b
  882. #define MUIA_Disabled                   $80423661
  883. #define MUIA_ExportID                   $8042d76e
  884. #define MUIA_FixHeight                  $8042a92b
  885. #define MUIA_FixHeightTxt               $804276f2
  886. #define MUIA_FixWidth                   $8042a3f1
  887. #define MUIA_FixWidthTxt                $8042d044
  888. #define MUIA_Font                       $8042be50
  889. #define MUIA_Frame                      $8042ac64
  890. #define MUIA_FramePhantomHoriz          $8042ed76
  891. #define MUIA_FrameTitle                 $8042d1c7
  892. #define MUIA_Height                     $80423237
  893. #define MUIA_HorizWeight                $80426db9
  894. #define MUIA_InnerBottom                $8042f2c0
  895. #define MUIA_InnerLeft                  $804228f8
  896. #define MUIA_InnerRight                 $804297ff
  897. #define MUIA_InnerTop                   $80421eb6
  898. #define MUIA_InputMode                  $8042fb04
  899. #define MUIA_LeftEdge                   $8042bec6
  900. #define MUIA_Pressed                    $80423535
  901. #define MUIA_RightEdge                  $8042ba82
  902. #define MUIA_Selected                   $8042654b
  903. #define MUIA_ShowMe                     $80429ba8
  904. #define MUIA_ShowSelState               $8042caac
  905. #define MUIA_Timer                      $80426435
  906. #define MUIA_TopEdge                    $8042509b
  907. #define MUIA_VertWeight                 $804298d0
  908. #define MUIA_Weight                     $80421d1f
  909. #define MUIA_Width                      $8042b59c
  910. #define MUIA_Window                     $80421591
  911. #define MUIA_WindowObject               $8042669e
  912.  
  913. #define MUIV_Font_Inherit 0
  914. #define MUIV_Font_Normal -1
  915. #define MUIV_Font_List -2
  916. #define MUIV_Font_Tiny -3
  917. #define MUIV_Font_Fixed -4
  918. #define MUIV_Font_Title -5
  919. #define MUIV_Frame_None 0
  920. #define MUIV_Frame_Button 1
  921. #define MUIV_Frame_ImageButton 2
  922. #define MUIV_Frame_Text 3
  923. #define MUIV_Frame_String 4
  924. #define MUIV_Frame_ReadList 5
  925. #define MUIV_Frame_InputList 6
  926. #define MUIV_Frame_Prop 7
  927. #define MUIV_Frame_Gauge 8
  928. #define MUIV_Frame_Group 9
  929. #define MUIV_Frame_PopUp 10
  930. #define MUIV_Frame_Virtual 11
  931. #define MUIV_Frame_Slider 12
  932. #define MUIV_Frame_Count 13
  933. #define MUIV_InputMode_None 0
  934. #define MUIV_InputMode_RelVerify 1
  935. #define MUIV_InputMode_Immediate 2
  936. #define MUIV_InputMode_Toggle 3
  937.  
  938.  
  939. ****************************************************************************
  940. ** Rectangle.mui 7.14 (28.11.93)                                          **
  941. ****************************************************************************
  942.  
  943.     * Attributes *
  944.  
  945. #define MUIA_Rectangle_HBar             $8042c943
  946. #define MUIA_Rectangle_VBar             $80422204
  947.  
  948.  
  949. ****************************************************************************
  950. ** Image.mui 7.13 (28.11.93)                                              **
  951. ****************************************************************************
  952.  
  953.     * Attributes *
  954.  
  955. #define MUIA_Image_FontMatch            $8042815d
  956. #define MUIA_Image_FontMatchHeight      $80429f26
  957. #define MUIA_Image_FontMatchWidth       $804239bf
  958. #define MUIA_Image_FreeHoriz            $8042da84
  959. #define MUIA_Image_FreeVert             $8042ea28
  960. #define MUIA_Image_OldImage             $80424f3d
  961. #define MUIA_Image_Spec                 $804233d5
  962. #define MUIA_Image_State                $8042a3ad
  963.  
  964.  
  965. ****************************************************************************
  966. ** Text.mui 7.15 (28.11.93)                                               **
  967. ****************************************************************************
  968.  
  969.     * Attributes *
  970.  
  971. #define MUIA_Text_Contents              $8042f8dc
  972. #define MUIA_Text_HiChar                $804218ff
  973. #define MUIA_Text_PreParse              $8042566d
  974. #define MUIA_Text_SetMax                $80424d0a
  975. #define MUIA_Text_SetMin                $80424e10
  976.  
  977.  
  978. ****************************************************************************
  979. ** String.mui 7.13 (28.11.93)                                             **
  980. ****************************************************************************
  981.  
  982.     * Attributes *
  983.  
  984. #define MUIA_String_Accept              $8042e3e1
  985. #define MUIA_String_Acknowledge         $8042026c
  986. #define MUIA_String_AttachedList        $80420fd2
  987. #define MUIA_String_BufferPos           $80428b6c
  988. #define MUIA_String_Contents            $80428ffd
  989. #define MUIA_String_DisplayPos          $8042ccbf
  990. #define MUIA_String_EditHook            $80424c33
  991. #define MUIA_String_Format              $80427484
  992. #define MUIA_String_Integer             $80426e8a
  993. #define MUIA_String_MaxLen              $80424984
  994. #define MUIA_String_Reject              $8042179c
  995. #define MUIA_String_Secret              $80428769
  996.  
  997. #define MUIV_String_Format_Left 0
  998. #define MUIV_String_Format_Center 1
  999. #define MUIV_String_Format_Right 2
  1000.  
  1001.  
  1002. ****************************************************************************
  1003. ** Prop.mui 7.12 (28.11.93)                                               **
  1004. ****************************************************************************
  1005.  
  1006.     * Attributes *
  1007.  
  1008. #define MUIA_Prop_Entries               $8042fbdb
  1009. #define MUIA_Prop_First                 $8042d4b2
  1010. #define MUIA_Prop_Horiz                 $8042f4f3
  1011. #define MUIA_Prop_Slider                $80429c3a
  1012. #define MUIA_Prop_Visible               $8042fea6
  1013.  
  1014.  
  1015. ****************************************************************************
  1016. ** Gauge.mui 7.41 (10.02.94)                                              **
  1017. ****************************************************************************
  1018.  
  1019.     * Attributes *
  1020.  
  1021. #define MUIA_Gauge_Current              $8042f0dd
  1022. #define MUIA_Gauge_Divide               $8042d8df
  1023. #define MUIA_Gauge_Horiz                $804232dd
  1024. #define MUIA_Gauge_InfoText             $8042bf15
  1025. #define MUIA_Gauge_Max                  $8042bcdb
  1026.  
  1027.  
  1028. ****************************************************************************
  1029. ** Scale.mui 7.37 (10.02.94)                                              **
  1030. ****************************************************************************
  1031.  
  1032.     * Attributes *
  1033.  
  1034. #define MUIA_Scale_Horiz                $8042919a
  1035.  
  1036.  
  1037. ****************************************************************************
  1038. ** Boopsi.mui 7.36 (10.02.94)                                             **
  1039. ****************************************************************************
  1040.  
  1041.     * Attributes *
  1042.  
  1043. #define MUIA_Boopsi_Class               $80426999
  1044. #define MUIA_Boopsi_ClassID             $8042bfa3
  1045. #define MUIA_Boopsi_MaxHeight           $8042757f
  1046. #define MUIA_Boopsi_MaxWidth            $8042bcb1
  1047. #define MUIA_Boopsi_MinHeight           $80422c93
  1048. #define MUIA_Boopsi_MinWidth            $80428fb2
  1049. #define MUIA_Boopsi_Object              $80420178
  1050. #define MUIA_Boopsi_Remember            $8042f4bd
  1051. #define MUIA_Boopsi_TagDrawInfo         $8042bae7
  1052. #define MUIA_Boopsi_TagScreen           $8042bc71
  1053. #define MUIA_Boopsi_TagWindow           $8042e11d
  1054.  
  1055.  
  1056. ****************************************************************************
  1057. ** Colorfield.mui 7.38 (10.02.94)                                         **
  1058. ****************************************************************************
  1059.  
  1060.     * Attributes *
  1061.  
  1062. #define MUIA_Colorfield_Blue            $8042d3b0
  1063. #define MUIA_Colorfield_Green           $80424466
  1064. #define MUIA_Colorfield_Pen             $8042713a
  1065. #define MUIA_Colorfield_Red             $804279f6
  1066. #define MUIA_Colorfield_RGB             $8042677a
  1067.  
  1068.  
  1069. ****************************************************************************
  1070. ** List.mui 7.22 (28.11.93)                                               **
  1071. ****************************************************************************
  1072.  
  1073.     * Methods *
  1074.  
  1075. #define MUIM_List_Clear                $8042ad89
  1076. #define MUIM_List_Exchange             $8042468c
  1077. #define MUIM_List_GetEntry             $804280ec
  1078. #define MUIM_List_Insert               $80426c87
  1079. #define MUIM_List_InsertSingle         $804254d5
  1080. #define MUIM_List_Jump                 $8042baab
  1081. #define MUIM_List_NextSelected         $80425f17
  1082. #define MUIM_List_Redraw               $80427993
  1083. #define MUIM_List_Remove               $8042647e
  1084. #define MUIM_List_Select               $804252d8
  1085. #define MUIM_List_Sort                 $80422275
  1086.  
  1087.     * Attributes *
  1088.  
  1089. #define MUIA_List_Active                $8042391c
  1090. #define MUIA_List_AdjustHeight          $8042850d
  1091. #define MUIA_List_AdjustWidth           $8042354a
  1092. #define MUIA_List_CompareHook           $80425c14
  1093. #define MUIA_List_ConstructHook         $8042894f
  1094. #define MUIA_List_DestructHook          $804297ce
  1095. #define MUIA_List_DisplayHook           $8042b4d5
  1096. #define MUIA_List_Entries               $80421654
  1097. #define MUIA_List_First                 $804238d4
  1098. #define MUIA_List_Format                $80423c0a
  1099. #define MUIA_List_MultiTestHook         $8042c2c6
  1100. #define MUIA_List_Quiet                 $8042d8c7
  1101. #define MUIA_List_SourceArray           $8042c0a0
  1102. #define MUIA_List_Title                 $80423e66
  1103. #define MUIA_List_Visible               $8042191f
  1104.  
  1105. #define MUIV_List_Active_Off -1
  1106. #define MUIV_List_Active_Top -2
  1107. #define MUIV_List_Active_Bottom -3
  1108. #define MUIV_List_Active_Up -4
  1109. #define MUIV_List_Active_Down -5
  1110. #define MUIV_List_Active_PageUp -6
  1111. #define MUIV_List_Active_PageDown -7
  1112. #define MUIV_List_ConstructHook_String -1
  1113. #define MUIV_List_CopyHook_String -1
  1114. #define MUIV_List_CursorType_None 0
  1115. #define MUIV_List_CursorType_Bar 1
  1116. #define MUIV_List_CursorType_Rect 2
  1117. #define MUIV_List_DestructHook_String -1
  1118.  
  1119.  
  1120. ****************************************************************************
  1121. ** Floattext.mui 7.39 (10.02.94)                                          **
  1122. ****************************************************************************
  1123.  
  1124.     * Attributes *
  1125.  
  1126. #define MUIA_Floattext_Justify          $8042dc03
  1127. #define MUIA_Floattext_SkipChars        $80425c7d
  1128. #define MUIA_Floattext_TabSize          $80427d17
  1129. #define MUIA_Floattext_Text             $8042d16a
  1130.  
  1131.  
  1132. ****************************************************************************
  1133. ** Volumelist.mui 7.36 (10.02.94)                                         **
  1134. ****************************************************************************
  1135.  
  1136.  
  1137. ****************************************************************************
  1138. ** Scrmodelist.mui 7.44 (10.02.94)                                        **
  1139. ****************************************************************************
  1140.  
  1141.  
  1142. ****************************************************************************
  1143. ** Dirlist.mui 7.37 (10.02.94)                                            **
  1144. ****************************************************************************
  1145.  
  1146.     * Methods *
  1147.  
  1148. #define MUIM_Dirlist_ReRead            $80422d71
  1149.  
  1150.     * Attributes *
  1151.  
  1152. #define MUIA_Dirlist_AcceptPattern      $8042760a
  1153. #define MUIA_Dirlist_Directory          $8042ea41
  1154. #define MUIA_Dirlist_DrawersOnly        $8042b379
  1155. #define MUIA_Dirlist_FilesOnly          $8042896a
  1156. #define MUIA_Dirlist_FilterDrawers      $80424ad2
  1157. #define MUIA_Dirlist_FilterHook         $8042ae19
  1158. #define MUIA_Dirlist_MultiSelDirs       $80428653
  1159. #define MUIA_Dirlist_NumBytes           $80429e26
  1160. #define MUIA_Dirlist_NumDrawers         $80429cb8
  1161. #define MUIA_Dirlist_NumFiles           $8042a6f0
  1162. #define MUIA_Dirlist_Path               $80426176
  1163. #define MUIA_Dirlist_RejectIcons        $80424808
  1164. #define MUIA_Dirlist_RejectPattern      $804259c7
  1165. #define MUIA_Dirlist_SortDirs           $8042bbb9
  1166. #define MUIA_Dirlist_SortHighLow        $80421896
  1167. #define MUIA_Dirlist_SortType           $804228bc
  1168. #define MUIA_Dirlist_Status             $804240de
  1169.  
  1170. #define MUIV_Dirlist_SortDirs_First 0
  1171. #define MUIV_Dirlist_SortDirs_Last 1
  1172. #define MUIV_Dirlist_SortDirs_Mix 2
  1173. #define MUIV_Dirlist_SortType_Name 0
  1174. #define MUIV_Dirlist_SortType_Date 1
  1175. #define MUIV_Dirlist_SortType_Size 2
  1176. #define MUIV_Dirlist_Status_Invalid 0
  1177. #define MUIV_Dirlist_Status_Reading 1
  1178. #define MUIV_Dirlist_Status_Valid 2
  1179.  
  1180.  
  1181. ****************************************************************************
  1182. ** Group.mui 7.12 (28.11.93)                                              **
  1183. ****************************************************************************
  1184.  
  1185.     * Attributes *
  1186.  
  1187. #define MUIA_Group_ActivePage           $80424199
  1188. #define MUIA_Group_Child                $804226e6
  1189. #define MUIA_Group_Columns              $8042f416
  1190. #define MUIA_Group_Horiz                $8042536b
  1191. #define MUIA_Group_HorizSpacing         $8042c651
  1192. #define MUIA_Group_PageMode             $80421a5f
  1193. #define MUIA_Group_Rows                 $8042b68f
  1194. #define MUIA_Group_SameHeight           $8042037e
  1195. #define MUIA_Group_SameSize             $80420860
  1196. #define MUIA_Group_SameWidth            $8042b3ec
  1197. #define MUIA_Group_Spacing              $8042866d
  1198. #define MUIA_Group_VertSpacing          $8042e1bf
  1199.  
  1200.  
  1201. ****************************************************************************
  1202. ** Register.mui 7.12 (28.11.93)                                           **
  1203. ****************************************************************************
  1204.  
  1205.     * Attributes *
  1206.  
  1207. #define MUIA_Register_Frame             $8042349b
  1208. #define MUIA_Register_Titles            $804297ec
  1209.  
  1210.  
  1211. ****************************************************************************
  1212. ** Virtgroup.mui 7.36 (10.02.94)                                          **
  1213. ****************************************************************************
  1214.  
  1215.     * Attributes *
  1216.  
  1217. #define MUIA_Virtgroup_Height           $80423038
  1218. #define MUIA_Virtgroup_Left             $80429371
  1219. #define MUIA_Virtgroup_Top              $80425200
  1220. #define MUIA_Virtgroup_Width            $80427c49
  1221.  
  1222.  
  1223. ****************************************************************************
  1224. ** Scrollgroup.mui 7.34 (10.02.94)                                        **
  1225. ****************************************************************************
  1226.  
  1227.     * Attributes *
  1228.  
  1229. #define MUIA_Scrollgroup_Contents       $80421261
  1230.  
  1231.  
  1232. ****************************************************************************
  1233. ** Scrollbar.mui 7.12 (28.11.93)                                          **
  1234. ****************************************************************************
  1235.  
  1236.  
  1237. ****************************************************************************
  1238. ** Listview.mui 7.13 (28.11.93)                                           **
  1239. ****************************************************************************
  1240.  
  1241.     * Attributes *
  1242.  
  1243. #define MUIA_Listview_ClickColumn       $8042d1b3
  1244. #define MUIA_Listview_DefClickColumn    $8042b296
  1245. #define MUIA_Listview_DoubleClick       $80424635
  1246. #define MUIA_Listview_Input             $8042682d
  1247. #define MUIA_Listview_List              $8042bcce
  1248. #define MUIA_Listview_MultiSelect       $80427e08
  1249. #define MUIA_Listview_SelectChange      $8042178f
  1250.  
  1251. #define MUIV_Listview_MultiSelect_None 0
  1252. #define MUIV_Listview_MultiSelect_Default 1
  1253. #define MUIV_Listview_MultiSelect_Shifted 2
  1254. #define MUIV_Listview_MultiSelect_Always 3
  1255.  
  1256.  
  1257. ****************************************************************************
  1258. ** Radio.mui 7.12 (28.11.93)                                              **
  1259. ****************************************************************************
  1260.  
  1261.     * Attributes *
  1262.  
  1263. #define MUIA_Radio_Active               $80429b41
  1264. #define MUIA_Radio_Entries              $8042b6a1
  1265.  
  1266.  
  1267.  
  1268. ****************************************************************************
  1269. ** Cycle.mui 7.16 (28.11.93)                                              **
  1270. ****************************************************************************
  1271.  
  1272.     * Attributes *
  1273.  
  1274. #define MUIA_Cycle_Active               $80421788
  1275. #define MUIA_Cycle_Entries              $80420629
  1276.  
  1277. #define MUIV_Cycle_Active_Next -1
  1278. #define MUIV_Cycle_Active_Prev -2
  1279.  
  1280.  
  1281. ****************************************************************************
  1282. ** Slider.mui 7.12 (28.11.93)                                             **
  1283. ****************************************************************************
  1284.  
  1285.     * Attributes *
  1286.  
  1287. #define MUIA_Slider_Level               $8042ae3a
  1288. #define MUIA_Slider_Max                 $8042d78a
  1289. #define MUIA_Slider_Min                 $8042e404
  1290. #define MUIA_Slider_Quiet               $80420b26
  1291. #define MUIA_Slider_Reverse             $8042f2a0
  1292.  
  1293.  
  1294. ****************************************************************************
  1295. ** Coloradjust.mui 7.46 (10.02.94)                                        **
  1296. ****************************************************************************
  1297.  
  1298.     * Attributes *
  1299.  
  1300. #define MUIA_Coloradjust_Blue           $8042b8a3
  1301. #define MUIA_Coloradjust_Green          $804285ab
  1302. #define MUIA_Coloradjust_ModeID         $8042ec59
  1303. #define MUIA_Coloradjust_Red            $80420eaa
  1304. #define MUIA_Coloradjust_RGB            $8042f899
  1305.  
  1306.  
  1307. ****************************************************************************
  1308. ** Palette.mui 7.35 (10.02.94)                                            **
  1309. ****************************************************************************
  1310.  
  1311.     * Attributes *
  1312.  
  1313. #define MUIA_Palette_Entries            $8042a3d8
  1314. #define MUIA_Palette_Groupable          $80423e67
  1315. #define MUIA_Palette_Names              $8042c3a2
  1316.  
  1317.  
  1318.  
  1319. ****************************************************************************
  1320. ** Colorpanel.mui 7.11 (10.02.94)                                         **
  1321. ****************************************************************************
  1322.  
  1323.  
  1324. ****************************************************************************
  1325. ** Popstring.mui 7.19 (02.12.93)                                          **
  1326. ****************************************************************************
  1327.  
  1328.     * Methods *
  1329.  
  1330. #define MUIM_Popstring_Close           $8042dc52
  1331. #define MUIM_Popstring_Open            $804258ba
  1332.  
  1333.     * Attributes *
  1334.  
  1335. #define MUIA_Popstring_Button           $8042d0b9
  1336. #define MUIA_Popstring_CloseHook        $804256bf
  1337. #define MUIA_Popstring_OpenHook         $80429d00
  1338. #define MUIA_Popstring_String           $804239ea
  1339. #define MUIA_Popstring_Toggle           $80422b7a
  1340.  
  1341.  
  1342. ****************************************************************************
  1343. ** Popobject.mui 7.18 (02.12.93)                                          **
  1344. ****************************************************************************
  1345.  
  1346.     * Attributes *
  1347.  
  1348. #define MUIA_Popobject_Follow           $80424cb5
  1349. #define MUIA_Popobject_Light            $8042a5a3
  1350. #define MUIA_Popobject_Object           $804293e3
  1351. #define MUIA_Popobject_ObjStrHook       $8042db44
  1352. #define MUIA_Popobject_StrObjHook       $8042fbe1
  1353. #define MUIA_Popobject_Volatile         $804252ec
  1354.  
  1355.  
  1356. ****************************************************************************
  1357. ** Popasl.mui 7.5 (03.12.93)                                              **
  1358. ****************************************************************************
  1359.  
  1360.     * Attributes *
  1361.  
  1362. #define MUIA_Popasl_Active              $80421b37
  1363. #define MUIA_Popasl_StartHook           $8042b703
  1364. #define MUIA_Popasl_StopHook            $8042d8d2
  1365. #define MUIA_Popasl_Type                $8042df3d
  1366.  
  1367.  
  1368.  
  1369. **************************************************************************
  1370. ** Structures and Macros for creating custom classes.
  1371. **************************************************************************
  1372.  
  1373. **
  1374. ** GENERAL NOTES:
  1375. **
  1376. ** - Everything described in this header file is only valid within
  1377. **   MUI classes. You may never use any of these things out of
  1378. **   a class, e.g. in a traditional MUI application.
  1379. **
  1380. ** - Except when otherwise stated, all structures are strictly read only.
  1381. **
  1382.  
  1383.         * use this if a dimension is not limited. *
  1384. #define MUI_MAXMAX 10000
  1385.  
  1386.                 * Definitions for mad_Flags, other flags are private *
  1387.  
  1388.         * completely redraw yourself *
  1389. #define MADF_DRAWOBJECT        1
  1390.         * only update yourself *
  1391. #define MADF_DRAWUPDATE        2
  1392.  
  1393.  
  1394.                 * MUI's draw pens *
  1395.  
  1396. #define MPEN_SHINE      0
  1397. #define MPEN_HALFSHINE  1
  1398. #define MPEN_BACKGROUND 2
  1399. #define MPEN_HALFSHADOW 3
  1400. #define MPEN_SHADOW     4
  1401. #define MPEN_TEXT       5
  1402. #define MPEN_FILL       6
  1403. #define MPEN_ACTIVEOBJ  7
  1404. #define MPEN_COUNT      8
  1405.  
  1406.  
  1407.         * User configurable keyboard events coming with MUIM_HandleInput *
  1408.  
  1409.     * not a real key, faked when MUIKEY_PRESS is released *
  1410. #define MUIKEY_RELEASE        -2
  1411. #define MUIKEY_NONE        -1
  1412. #define MUIKEY_PRESS        0
  1413. #define MUIKEY_TOGGLE        1
  1414. #define MUIKEY_UP        2
  1415. #define MUIKEY_DOWN        3
  1416. #define MUIKEY_PAGEUP        4
  1417. #define MUIKEY_PAGEDOWN        5
  1418. #define MUIKEY_TOP        6
  1419. #define MUIKEY_BOTTOM        7
  1420. #define MUIKEY_LEFT        8
  1421. #define MUIKEY_RIGHT        9
  1422. #define MUIKEY_WORDLEFT        10
  1423. #define MUIKEY_WORDRIGHT    11
  1424. #define MUIKEY_LINESTART    12
  1425. #define MUIKEY_LINEEND        13
  1426. #define MUIKEY_GADGET_NEXT    14
  1427. #define MUIKEY_GADGET_PREV    15
  1428. #define MUIKEY_GADGET_OFF    16
  1429. #define MUIKEY_WINDOW_CLOSE    17
  1430. #define MUIKEY_WINDOW_NEXT    18
  1431. #define MUIKEY_WINDOW_PREV    19
  1432. #define MUIKEY_HELP        20
  1433.